Custom Dataset দিয়ে Classification প্রজেক্ট

Machine Learning - পাইব্রেইন (PyBrain) - বাস্তব উদাহরণ এবং প্রজেক্ট ডেমো
235

Classification একটি সাধারণ মেশিন লার্নিং টাস্ক যেখানে ইনপুট ডেটা ব্যবহার করে একটি মডেল তৈরি করা হয়, যা আউটপুট হিসেবে ক্যাটেগোরিকাল ক্লাস প্রদান করে। এটি বিভিন্ন ক্ষেত্রে ব্যবহৃত হতে পারে, যেমন স্প্যাম ডিটেকশন, চিত্র শনাক্তকরণ, রোগের পূর্বাভাস, ইত্যাদি।

এখানে আমরা Custom Dataset দিয়ে একটি Classification প্রজেক্ট তৈরি করবো। ধরা যাক আমাদের কাছে একটি ডেটাসেট রয়েছে, যেখানে Age, Income, Education Level ইত্যাদি ফিচার রয়েছে এবং আউটপুট Purchase Decision (যা হবে Yes বা No)।

আমরা এই ডেটাসেট ব্যবহার করে একটি সিম্পল Classification মডেল তৈরি করবো, যেমন Logistic Regression


১. Custom Dataset তৈরি করা

প্রথমে আমরা একটি কাস্টম ডেটাসেট তৈরি করবো যেটি একটি CSV ফাইলের আকারে থাকবে। ডেটাসেটের কলামগুলো হতে পারে:

  • Age: ক্রেতার বয়স
  • Income: ক্রেতার মাসিক আয়
  • Education Level: শিক্ষার স্তর (High School, Bachelor's, Master's)
  • Purchase Decision: ক্রয় সিদ্ধান্ত (Yes বা No)

Custom Dataset:

Age,Income,Education Level,Purchase Decision
25,30000,Bachelor's,Yes
32,45000,Master's,Yes
23,20000,High School,No
40,60000,Bachelor's,Yes
29,35000,Master's,No
35,50000,Bachelor's,Yes
41,55000,Master's,Yes
30,32000,High School,No

২. Python কোড দিয়ে Classification প্রজেক্ট

এখন আমরা Python এবং Scikit-learn লাইব্রেরি ব্যবহার করে এই কাস্টম ডেটাসেটের উপর একটি Classification মডেল তৈরি করবো।

কোড উদাহরণ:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Custom Dataset তৈরি করা
data = {
    'Age': [25, 32, 23, 40, 29, 35, 41, 30],
    'Income': [30000, 45000, 20000, 60000, 35000, 50000, 55000, 32000],
    'Education Level': ["Bachelor's", "Master's", "High School", "Bachelor's", "Master's", "Bachelor's", "Master's", "High School"],
    'Purchase Decision': ['Yes', 'Yes', 'No', 'Yes', 'No', 'Yes', 'Yes', 'No']
}

# DataFrame এ রূপান্তর
df = pd.DataFrame(data)

# Education Level এবং Purchase Decision কে numerical format এ রূপান্তর করা
le = LabelEncoder()
df['Education Level'] = le.fit_transform(df['Education Level'])
df['Purchase Decision'] = le.fit_transform(df['Purchase Decision'])

# ইনপুট এবং আউটপুট ভ্যারিয়েবল আলাদা করা
X = df[['Age', 'Income', 'Education Level']]  # Features
y = df['Purchase Decision']  # Target

# ডেটাকে Train এবং Test সেটে ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)

# Logistic Regression মডেল তৈরি করা
model = LogisticRegression()

# মডেলটি ট্রেনিং করা
model.fit(X_train, y_train)

# টেস্ট ডেটার উপর প্রেডিকশন করা
y_pred = model.predict(X_test)

# Accuracy মাপা
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100:.2f}%")

৩. কোড বিশ্লেষণ:

  1. Dataset Preparation:
    • প্রথমে আমরা কাস্টম ডেটাসেট তৈরি করেছি এবং তা Pandas DataFrame এ রূপান্তরিত করেছি।
    • LabelEncoder ব্যবহার করে ক্যাটেগোরিকাল ডেটাকে (যেমন, Education Level এবং Purchase Decision) সংখ্যায় রূপান্তরিত করেছি, কারণ মেশিন লার্নিং মডেল শুধুমাত্র সংখ্যায় কাজ করতে পারে।
  2. Train-Test Split:
    • train_test_split ব্যবহার করে ডেটাসেটটি ৭৫% ট্রেনিং এবং ২৫% টেস্ট ডেটায় ভাগ করেছি। এটি মডেলের generalization যাচাই করার জন্য গুরুত্বপূর্ণ।
  3. Logistic Regression Model:
    • Logistic Regression একটি সাধারণ classification মডেল যা ক্যাটেগোরিকাল আউটপুট প্রেডিক্ট করতে ব্যবহৃত হয় (যেমন Yes বা No)।
  4. Accuracy Calculation:
    • accuracy_score ফাংশন ব্যবহার করে আমরা মডেলের সঠিকতার পরিমাণ বের করেছি।

৪. সামগ্রিক বিশ্লেষণ:

এই প্রজেক্টটি কাস্টম ডেটাসেটের উপর একটি সাধারণ Classification মডেল তৈরি করার উদাহরণ। এখানে আমরা Logistic Regression ব্যবহার করেছি, যা সাধারণত বাইনারি ক্লাসিফিকেশন (যেমন Yes/No) টাস্কের জন্য ব্যবহৃত হয়।

অন্যান্য মডেল ব্যবহার:

  • Decision Trees: আরও জটিল সিদ্ধান্ত নিতে সক্ষম, যেখানে স্পষ্ট নিয়মের মাধ্যমে ডেটাকে বিভক্ত করা হয়।
  • Random Forest: Decision Tree-এর ensemble, যা accuracy বাড়ায় এবং overfitting কমায়।
  • Support Vector Machine (SVM): শক্তিশালী ক্লাসিফিকেশন টেকনিক, বিশেষত উচ্চ মাত্রার ডেটার জন্য।

সারাংশ:

  • Custom Dataset তৈরি করে ক্লাসিফিকেশন প্রজেক্ট করা সম্ভব, যেখানে সাধারণ মডেল যেমন Logistic Regression ব্যবহার করে ডেটার শ্রেণিবিন্যাস করা যায়।
  • ডেটার preprocessing, train-test split, এবং evaluation metrics (accuracy) ব্যবহার করে মডেলটি মূল্যায়ন করা হয়।
  • এই প্রজেক্টটি মেশিন লার্নিংয়ের মৌলিক ধারণা বুঝতে সহায়ক, যেমন ইনপুট ডেটা প্রস্তুতি, মডেল ট্রেনিং, এবং আউটপুট মূল্যায়ন।
Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...